隨著大型語言模型(Large Language Models, LLM)在各種應用中普及,我們會發現:光靠 LLM 本身的知識與推理,仍然存在一些限制。舉例來說,LLM 雖然能回答「今天台北的天氣怎樣?」這樣的問題,但如果沒有即時數據,它只能根據訓練時的知識胡亂猜測,而無法提供最新、正確的答案。
這時候,就需要外部工具(External Tools)的幫忙。
LLM 本質上是一個「文字預測機器」,它非常擅長:
語言理解與生成
知識的整理與推論
提供建議與模擬對話
但它缺少的能力包括:
即時數據(例如:最新新聞、股價、天氣)
精準計算(例如:大數字運算、統計分析)
與真實世界互動(例如:發送郵件、操作資料庫、控制機器人)
因此,外部工具就像是「LLM 的手腳」,能讓它從「只會說」變成「能夠做」
LLM 呼叫外部工具的基本流程
可以把 LLM 想像成一個「大腦」,而外部工具是「專用器官」。呼叫過程通常包含以下幾步:
解析需求:LLM 從使用者輸入中,判斷什麼問題需要工具來解決。
例如:「幫我算 1256789 × 98765」 → LLM 判斷用計算器比較準。
格式化請求:LLM 會用預先定義好的結構(通常是 JSON 或函數呼叫格式),把需求轉換成工具能懂的指令。
例如:{"tool": "calculator", "input": "1256789 * 98765"}
呼叫工具:系統層面(middleware)接收到這個格式後,把指令傳給相應的工具或 API。
工具可能是 Python 程式、外部 API、資料庫查詢等。